digital rights management drm development copyright java software development music dvd electronic licensing object oriented java digital java tools copy protection software development dongle encryption content databases